home *** CD-ROM | disk | FTP | other *** search
/ Aminet 40 / Aminet 40 (2000)(Schatztruhe)[!][Dec 2000].iso / Aminet / dev / src / mrq_library.lha / lib / examples / asm / _screen+chunky.s < prev    next >
Text File  |  2000-09-07  |  4KB  |  230 lines

  1. ;APS0000040900000F310000000000000000000000000000000000000000000000000000000000000000
  2.     incdir    includes:
  3.  
  4.     include    lvos.i
  5.     include    lvo/mrq_lib.i
  6.     include    exec/exec.i
  7.     include    graphics/gfx.i
  8.     include    intuition/intuition.i
  9.     include    libraries/cybergraphics.i
  10.     include    lvo/cybergraphics_lib.i
  11.  
  12.  
  13.     section    code,code_p
  14.  
  15. szer=640
  16. wys=480
  17. x_offs=0
  18. y_offs=0
  19.  
  20.  
  21.     move.l    4,a6
  22.     moveq    #$00,d0
  23.     lea    mrqlib,a1
  24.     jsr    _LVOOpenLibrary(a6)
  25.     move.l    d0,mrqbase
  26.     tst.l    d0
  27.     beq.w    _stupid_error
  28.  
  29.     move.l    mrqbase,a6
  30.     jsr    _LVOMisterQInit(a6)    ;inicjalizacja biblioteki, struktur
  31.     move.l    d0,lib_base
  32.     move.l    lib_base,a5
  33. ;-------
  34.     bsr.w    load_gfx        ;zaîadowanie grafiki
  35.     tst.l    d0
  36.     beq.b    _yep
  37.  
  38.     lea    kupka,a1
  39.     jsr    _LVOMRequest(a6)
  40.     bra.w    _no_sc
  41. ;-------
  42. _yep        
  43.     lea    plik,a0            ;ôcieûka gdzie
  44.     move.l    #1024,d0        ;iloôê
  45.     move.l    #$12345678,a1        ;adres skâd
  46.     jsr    _LVOMSaveFile(a6)    ;zapisanie 1024 bajtów pliku 
  47.  
  48. opensc    move.l    #szer,d0
  49.     move.l    #wys,d1
  50.     moveq    #$00,d2
  51.     move.l    paleta,a0
  52.     jsr    _LVOMOpenScreen(a6)    ;otwarcie ekranu
  53.  
  54.     tst.l    d0
  55.     beq.w    _no_sc
  56.     move.l    d0,screenbase
  57.  
  58.     move.l    #szer,d0
  59.     move.l    #wys,d1
  60.     move.l    #0,d2
  61.     move.l    #0,d3
  62.  
  63.     move.l     chunky_buffer,a0
  64.  
  65.     jsr    _LVOC2P(a6)
  66.  
  67.     bsr.w    put_txt            ;wyôwietlenie tekstów informacyjnych
  68.  
  69.     move.l    screenbase,a0
  70.     move.l    s_UserPort(a0),a0
  71. wait    
  72.     jsr    _LVOGetMessage(a6)    ;pobranie wiadomoôci z okna
  73.  
  74.     move.l    d0,a1
  75.     move.l    im_Class(a1),d0
  76.     cmp.l    #IDCMP_RAWKEY,d0
  77.     bne.b    wait
  78.  
  79. _cs_sc    move.l    screenbase,a0
  80.     jsr    _LVOMCloseScreen(a6)
  81.  
  82. _no_sc    move.l    paleta,a0
  83.     jsr    _LVOMFreeFile(a6)
  84.     move.l    chunky_buffer,a0    ;zwolnienie pamiëci
  85.     jsr    _LVOMFreeFile(a6)
  86.  
  87. _ext    move.l    lib_base,a0
  88.     jsr    _LVOMisterQCleanUp(a6)    ;zwolnienie struktur,tablic, itp
  89.     move.l    4,a6
  90.     move.l    mrqbase,a1
  91.     jsr    _LVOCloseLibrary(a6)
  92. ;-------
  93. _stupid_error
  94.     moveq    #$00,d0
  95.     rts
  96. ;-------
  97. load_gfx
  98.     lea    tekst1,a0
  99.     jsr    _LVOAslFILERequest(a6)
  100.     tst.l    d0
  101.     beq.w    _stupid_error1
  102.     move.l    d0,_paleta
  103.  
  104.     move.l    _paleta,a0
  105.     move.l    #MEMF_FAST+MEMF_CLEAR,d0
  106.     jsr    _LVOMLoadFile(a6)
  107.     tst.l    d0
  108.     beq.w    _stupid_error1
  109.     move.l    d0,paleta
  110.  
  111.     move.l    _paleta,a0
  112.     jsr    _LVOAslFreeFILERequest(a6)
  113.  
  114.     lea    tekst2,a0
  115.     jsr    _LVOAslFILERequest(a6)
  116.     tst.l    d0
  117.     beq.w    _stupid_error1
  118.     move.l    d0,_chunky_buffer
  119.  
  120.     move.l    _chunky_buffer,a0
  121.     move.l    #MEMF_FAST+MEMF_CLEAR,d0
  122.     jsr    _LVOMLoadFile(a6)
  123.     tst.l    d0
  124.     beq.w    _stupid_error1
  125.     move.l    d0,chunky_buffer
  126.  
  127.     move.l    _chunky_buffer,a0
  128.     jsr    _LVOAslFreeFILERequest(a6)
  129.     moveq    #$00,d0
  130.     rts
  131. _stupid_error1
  132.     moveq    #$01,d0
  133. _upss1    rts
  134. ;-------
  135. put_txt    move.w    #$ff,_kolor0(a5)
  136.     move.w    #$00,_kolor1(a5)
  137.  
  138.     lea    szerok,a0
  139.     move.l    #$00,d0
  140.     move.l    #30,d1
  141.     jsr    _LVOWyswTXT(a6)
  142.  
  143.     move.l    #szer,d0
  144.     jsr    _LVODecConvert(a6)
  145.     
  146.     move.l    tabdec2(a5),a0
  147.     move.l    #140,d0
  148.     move.l    #30,d1
  149.  
  150.     jsr    _LVOWyswTXT(a6)
  151.  
  152.     move.l    #szer,d0
  153.     jsr    _LVOHexConvert(a6)
  154.  
  155.     move.l    tabhex1(a5),a0
  156.     
  157.     move.l    #250,d0
  158.     move.l    #30,d1
  159.  
  160.     jsr    _LVOWyswTXT(a6)
  161.  
  162.     move.l    #szer,d0
  163.     jsr    _LVORomanConvert(a6)
  164.  
  165.     move.l    tabroman1(a5),a0
  166.     
  167.     move.l    #320,d0
  168.     move.l    #30,d1
  169.  
  170.     jsr    _LVOWyswTXT(a6)
  171.  
  172. ;-------
  173.  
  174.     lea    wysok,a0
  175.     move.l    #$00,d0
  176.     move.l    #50,d1
  177.     jsr    _LVOWyswTXT(a6)    
  178.  
  179.     move.l    #wys,d0
  180.     jsr    _LVODecConvert(a6)
  181.  
  182.     move.l    tabdec2(a5),a0
  183.     move.l    #140,d0
  184.     move.l    #50,d1
  185.  
  186.     jsr    _LVOWyswTXT(a6)
  187.  
  188.     move.l    #wys,d0
  189.     jsr    _LVOHexConvert(a6)
  190.  
  191.     move.l    tabhex1(a5),a0
  192.     
  193.     move.l    #250,d0
  194.     move.l    #50,d1
  195.  
  196.     jsr    _LVOWyswTXT(a6)
  197.  
  198.     move.l    #wys,d0
  199.     jsr    _LVORomanConvert(a6)
  200.  
  201.     move.l    tabroman1(a5),a0
  202.     
  203.     move.l    #320,d0
  204.     move.l    #50,d1
  205.  
  206.     jmp    _LVOWyswTXT(a6)
  207. ;-------
  208. mrqbase        dc.l    $00
  209. lib_base    dc.l    $00
  210. screenbase    dc.l    $00
  211. paleta        dc.l    $00
  212. chunky_buffer    dc.l    $00
  213. _paleta        dc.l    $00       
  214. _chunky_buffer    dc.l    $00       
  215. ;-------
  216. tekst1        dc.b    'Wybierz paletë w formacie RGB32()',0
  217. tekst2        dc.b    'Wybierz grafikë w formacie Chunky 640/480',0
  218. kupka        dc.b    'Niestety îadowanie danych nie powiodîo sië :(',0
  219. szerok        dc.b    'Szerokoôê ekranu: ',0
  220. wysok        dc.b    'Wysokoôê ekranu: ',0
  221. ;-------
  222. mrqlib        dc.b    'mrq.library',0
  223. ;-------
  224. plik        dc.b    'ram:plik',0
  225. ;-------
  226.  
  227.  
  228.  
  229.  
  230.